import { Router } from 'express';
import {
  getGameList,
  getGameDetails,
  createNewGame,
  joinExistingGame,
  leaveExistingGame,
  startExistingGame,
  updatePlayerChipsInGame,
  handleGameAction
} from '../controllers/gameController';
import { authenticateToken } from '../middleware/auth';

const router = Router();

// 获取游戏列表（无需认证）
router.get('/', getGameList);

// 获取游戏详情（无需认证）
router.get('/:id', getGameDetails);

// 创建新游戏（需要认证）
router.post('/', authenticateToken, createNewGame);

// 加入游戏（需要认证）
router.post('/:id/join', authenticateToken, joinExistingGame);

// 离开游戏（需要认证）
router.post('/:id/leave', authenticateToken, leaveExistingGame);

// 开始游戏（需要认证）
router.post('/:id/start', authenticateToken, startExistingGame);

// 更新玩家筹码（需要认证）
router.put('/:id/chips', authenticateToken, updatePlayerChipsInGame);

// 游戏动作（下注、跟注、加注、弃牌、All In）（无需认证，符合"无需注册就可愉快游戏"理念）
router.post('/:id/action', handleGameAction);

export default router;